package com.yytek.am.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yytek.common.core.annotation.Excel;
import com.yytek.common.core.web.domain.BaseEntity;

/**
 * 告警事件对象 fm_event
 * 
 * @author yytek-iot
 * @date 2022-10-10
 */
@ApiModel("告警事件对象")
public class FmEvent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("id")
    private Long id;

    /** 归属项目id */
    @Excel(name = "归属项目id")
    @ApiModelProperty("归属项目id")
    private String projectId;

    /** 告警定义id */
    @Excel(name = "告警定义id")
    @ApiModelProperty("告警定义id")
    private Long alarmDefineId;

    /** 告警分组标签 */
    @Excel(name = "告警分组标签")
    @ApiModelProperty("告警分组标签")
    private String label;

    /** 告警级别(1-警告 2-次要 3-主要 4-严重) */
    @Excel(name = "告警级别(1-警告 2-次要 3-主要 4-严重)")
    @ApiModelProperty("告警级别(1-警告 2-次要 3-主要 4-严重)")
    private Long level;

    /** 告警标题 */
    @Excel(name = "告警标题")
    @ApiModelProperty("告警标题")
    private String title;

    /** 告警内容 */
    @Excel(name = "告警内容")
    @ApiModelProperty("告警内容")
    private String content;

    /** 唯一标识告警对象 */
    @Excel(name = "唯一标识告警对象")
    @ApiModelProperty("唯一标识告警对象")
    private String searchIndex;

    /** 累计次数 */
    @Excel(name = "累计次数")
    @ApiModelProperty("累计次数")
    private Long accCount;

    /** 告警确认标识(1-确认,0-未确认) */
    @Excel(name = "告警确认标识(1-确认,0-未确认)")
    @ApiModelProperty("告警确认标识(1-确认,0-未确认)")
    private Long ackFlag;

    /** 告警确认信息 */
    @Excel(name = "告警确认信息")
    @ApiModelProperty("告警确认信息")
    private String ackNote;

    /** 告警确认人 */
    @Excel(name = "告警确认人")
    @ApiModelProperty("告警确认人")
    private String ackOperator;

    /** 告警确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "告警确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("告警确认时间")
    private Date ackTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setAlarmDefineId(Long alarmDefineId) 
    {
        this.alarmDefineId = alarmDefineId;
    }

    public Long getAlarmDefineId() 
    {
        return alarmDefineId;
    }
    public void setLabel(String label) 
    {
        this.label = label;
    }

    public String getLabel() 
    {
        return label;
    }
    public void setLevel(Long level) 
    {
        this.level = level;
    }

    public Long getLevel() 
    {
        return level;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setSearchIndex(String searchIndex) 
    {
        this.searchIndex = searchIndex;
    }

    public String getSearchIndex() 
    {
        return searchIndex;
    }
    public void setAccCount(Long accCount) 
    {
        this.accCount = accCount;
    }

    public Long getAccCount() 
    {
        return accCount;
    }
    public void setAckFlag(Long ackFlag) 
    {
        this.ackFlag = ackFlag;
    }

    public Long getAckFlag() 
    {
        return ackFlag;
    }
    public void setAckNote(String ackNote) 
    {
        this.ackNote = ackNote;
    }

    public String getAckNote() 
    {
        return ackNote;
    }
    public void setAckOperator(String ackOperator) 
    {
        this.ackOperator = ackOperator;
    }

    public String getAckOperator() 
    {
        return ackOperator;
    }
    public void setAckTime(Date ackTime) 
    {
        this.ackTime = ackTime;
    }

    public Date getAckTime() 
    {
        return ackTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("alarmDefineId", getAlarmDefineId())
            .append("label", getLabel())
            .append("level", getLevel())
            .append("title", getTitle())
            .append("content", getContent())
            .append("searchIndex", getSearchIndex())
            .append("accCount", getAccCount())
            .append("ackFlag", getAckFlag())
            .append("ackNote", getAckNote())
            .append("ackOperator", getAckOperator())
            .append("ackTime", getAckTime())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .toString();
    }
}
